|
RAIS
3.2
|
00001 00027 using System; 00028 using System.Collections.Generic; 00029 using System.Linq; 00030 using System.Text; 00031 using System.Data; 00032 using System.Web.UI.WebControls; 00033 using RAIS.UI.Common; 00034 using RAIS.Common.UserManagement; 00035 using RAIS.Common.DynamicMaskManagement; 00036 00037 namespace RAIS.UI.Common 00038 { 00039 public class DataRoleRestrictionManagement 00040 { 00041 public static DataTable GetDataRoleRestrictions(RAIS.Common.UserManagement.DataRole dataRole, ref string returnMessage, string translationLanguage) 00042 { 00043 DataTable dtRestrictions = ApplicationLogicLayer.DataRoleRestrictionManagement.GetDataRoleRestrictions(dataRole, ref returnMessage); 00044 DataTable result = new DataTable(); 00045 result.Columns.Add("RestrictionID"); 00046 result.Columns.Add("Restriction"); 00047 result.Columns.Add("Query"); 00048 result.Columns.Add("ApplyTo"); 00049 foreach (DataRow restrictionRow in dtRestrictions.Rows) 00050 { 00051 DataRow resultRow = result.NewRow(); 00052 resultRow[0] = restrictionRow[0].ToString(); 00053 resultRow[1] = restrictionRow["Restriction Name"].ToString(); 00054 resultRow[2] = restrictionRow["Query Name"].ToString(); 00055 00056 if (!String.IsNullOrEmpty(restrictionRow["Mask Name"].ToString())) 00057 resultRow[3] = ApplicationLogicLayer.Localisation.Translate(Constants.DATA_ROLE_RESTRICTIONS_MENU_ITEM_TEXT, "ASP.editdataroles_new_update3_aspx", RAIS.Common.Constants.DEFAULT_LANGUAGE, translationLanguage) + " " + restrictionRow["Mask Name"].ToString(); 00058 else if (!String.IsNullOrEmpty(restrictionRow["Subcategory Name"].ToString())) 00059 resultRow[3] = ApplicationLogicLayer.Localisation.Translate(Constants.DATA_ROLE_RESTRICTIONS_SUBCATEGORY_TEXT, "ASP.editdataroles_new_update3_aspx", RAIS.Common.Constants.DEFAULT_LANGUAGE, translationLanguage) + " " + restrictionRow["Subcategory Name"].ToString(); 00060 else if (!String.IsNullOrEmpty(restrictionRow["Category Name"].ToString())) 00061 resultRow[3] = ApplicationLogicLayer.Localisation.Translate(Constants.DATA_ROLE_RESTRICTIONS_CATEGORY_TEXT, "ASP.editdataroles_new_update3_aspx", RAIS.Common.Constants.DEFAULT_LANGUAGE, translationLanguage) + " " + restrictionRow["Category Name"].ToString(); 00062 else 00063 resultRow[3] = ApplicationLogicLayer.Localisation.Translate(Constants.DATA_ROLE_RESTRICTIONS_ALL_MASKS_TEXT, "ASP.editdataroles_new_update3_aspx", RAIS.Common.Constants.DEFAULT_LANGUAGE, translationLanguage); 00064 result.Rows.Add(resultRow); 00065 } 00066 return result; 00067 } 00068 00069 public static DataRow GetDataRoleRestriction(string restrictionID, ref string returnMessage) 00070 { 00071 return ApplicationLogicLayer.DataRoleRestrictionManagement.GetDataRoleRestriction(restrictionID, ref returnMessage); 00072 } 00073 00074 public static bool AddDataRoleRestriction(string restrictionName, string queryName, string dataRoleID, string categoryID, string subcategoryID, string maskID, ref string returnMessage) 00075 { 00076 return ApplicationLogicLayer.DataRoleRestrictionManagement.AddDataRoleRestriction(restrictionName, queryName, dataRoleID, categoryID, subcategoryID, maskID, ref returnMessage); 00077 } 00078 00079 public static bool EditDataRoleRestriction(string restrictionID, string restrictionName, string queryName, string dataRoleID, string categoryID, string subcategoryID, string maskID, ref string returnMessage) 00080 { 00081 return ApplicationLogicLayer.DataRoleRestrictionManagement.EditDataRoleRestriction(restrictionID, restrictionName, queryName, dataRoleID, categoryID, subcategoryID, maskID, ref returnMessage); 00082 } 00083 00084 public static bool DeleteDataRoleRestriction(string restrictionID, ref string returnMessage) 00085 { 00086 return ApplicationLogicLayer.DataRoleRestrictionManagement.DeleteDataRoleRestriction(restrictionID, ref returnMessage); 00087 } 00088 00089 public static void GetRestrictedMasks(GridView GVrestrictedMasks, DataRow restrictionRow, UserData currentUser, string restrictionID, string categoryID, string subcategoryID, string maskID) 00090 { 00091 DataTable masks = ApplicationLogicLayer.DataRoleRestrictionManagement.GetCategorySubcategoryAndMaskNames(categoryID, subcategoryID, maskID); 00092 GVrestrictedMasks.DataSource = masks; 00093 GVrestrictedMasks.DataBind(); 00094 00095 int index = 0; 00096 foreach (DataRow maskRow in masks.Rows) 00097 { 00098 try 00099 { 00100 DynamicMaskData dynamicMaskData = RAIS.UI.Common.DynamicMaskManagement.GetDynamicMaskData(Convert.ToInt32(maskRow["MaskID"]), 0, 0, currentUser, false); 00101 if (ApplicationLogicLayer.DataRoleRestrictionManagement.IsDataRoleRestricted(dynamicMaskData, restrictionRow)) 00102 GVrestrictedMasks.Rows[index].BackColor = System.Drawing.Color.Green; 00103 else 00104 GVrestrictedMasks.Rows[index].BackColor = System.Drawing.Color.Red; 00105 } 00106 catch (Exception ex) 00107 { 00108 GVrestrictedMasks.Rows[index].Visible = false; 00109 } 00110 index++; 00111 } 00112 } 00113 } 00114 }